Шаг 28 - Поля текущих итогов.

Одной из наиболее часто встречающихся при построении отчетов задач, является вывод промежуточных и общих итогов, когда нужно накапливать значение какого-либо поля. Конечно, это можно сделать с помощью формул, но поскольку задача очень распространена, Crystal Reports имеет в своем составе специальные инструменты.

Итак, открываем уже знакомый нам проводник полей. В проводнике жмем на вкладку Running Total, а на ней – кнопку New.

Открывается окно построения поля итогов.

28_1.gif (14229 b)

В левой части – уже знакомый древовидный список полей. Справа – поле Running Total Name, куда следует занести имя поля. К имени поля итогового значения Crystal Reports автоматически добавляет суффикс # (диез).

Чуть ниже находится комбобокс Field to summarize, в котором выбирается поле отчета (или непосредственно БД), по которому будут производиться итоговые операции. Поместить поле в комбобокс можно и прямо из левого списка с помощью кнопки >.

Еще ниже находится комбобокс Type of summary, в котором выбирается операция, которая будет производиться над выбранным полем. Его содержание зависит от типа выбранного поля. Кроме суммирования доступны: вычисление среднего значения, среднеквадратического отклонения, максимального и минимального значений, подсчет количества записей и некоторые другие.

Ниже находится раздел Evaluate, в котором задаются условия, при которых будет производиться увеличение текущего итога. Условия выбираются с помощью соответствующего переключателя. Возможные значения:
For each record – при изменении каждой записи поля, указанного в комбобоксе Field to summarize.
On change of field – при изменении значения другого поля БД. Поле, при изменении значения которого будет производиться вычисление итогов, выбирается в комбобоксе справа от переключателя.
On change of group – при изменении группы. Требуемая группа также выбирается в комбобоксе справа от переключателя.
Use a formula – условия вычисления итогов определяются формулой. Кнопка справа от переключателя вызывает редактор формул.

Раздел Reset – задает условия, при которых будет производиться сброс значения итогового поля. Условия здесь те же, что и в предыдущем разделе, за исключением: вместо переключателя For each record (он в данном случае не имеет смысла), имеется переключатель None (никогда).

Обратите внимание: поля итогов вычисляются при проходе отчета While Printing Records, поэтому в них нельзя использовать формулы второго прохода.

После начатия кнопки OK созданное поле появится в окне Insert fields, откуда его можно методом перетаскивания вставить в отчет. Как правило, итоговые поля вставляются в колонтитул группы или колонтитул отчета


Автор Юрий Гвоздев.
Hosted by uCoz